clear 
set more off 
set matsize 8000 
cap log close 

cd "D:\Data\workdata\707116\SIDS_RDD\"

use "SIDS_analysis_final_full.dta", clear

log using "Revision1/log_files/05 Rob Tables Covar Days.log", replace

drop di*
g dif = birthday - mdy(12,31,1991)

gen     di1 =   dif 
gen     di1_i = dif 
replace di1_i = 0 if dif<0

g dc_sids_oth = dc_sids + dc_all_other 

g 		mor1_exc_sids = mor1 - dc_sids_oth
replace mor1_exc_sids = 0 if mor1==0 

g 		mor5_exc_sids = mor5 - dc_sids_oth
replace mor5_exc_sids =0 if mor5==0 

g m_high_ed = m_short + m_mid + m_long
egen dc_other_non_sids = rowmax(dc_inf  dc_neo dc_nerv dc_resp)

g preterm = . 
replace preterm = 1 if fullterm37==0
replace preterm = 0 if fullterm37==1


label var mage "Mother age at birth" 
label var m_basic "Mother basic education" 
label var m_voc "Mother vocational education" 
label var m_high "Mother higher education" 
label var m_immigrant "Mother immigrant"  

label var female "Female" 
label var border "Birth order" 
label var preterm "Born preterm"
label var LBW "Low birthweight" 

label var dc_sids "SIDS mortality (over 10K)" 
label var dc_sids_oth "SIDS + all unclassified (over 10K)"
label var mor1 "Infant mortality" 
label var mor5 "Child mortality" 
label var mor1_exc_sids "Infant mortality except SIDS" 
label var mor5_exc_sids "Child mortality except SIDS" 


global cset1 "female border LBW preterm"
global cset2 "mage m_basic m_voc m_high  m_immigrant"
global outset1 "dc_sids dc_sids_oth mor1 mor5 mor1_exc_sids mor5_exc_sids"


***TABLE 4 MAIN OUTCOMES***

**Make sure that all outcome only includes variables that are non missing** 

foreach x in $cset1 $cset2{
   g miss_`x' = (`x'==.) 
   replace `x' = 999 if `x' == . 
}

sum $cset1 $cset2 

global ctrl1 "i.female i.border i.LBW i.preterm mage i.m_basic i.m_voc i.m_immigrant"

**Automated bw**
foreach x in $outset1{
rdbwselect `x' dif, bwselect(mserd) 
local bw = round(e(h_mserd)) 
reg `x' treat di1* $ctrl1 miss_* i.bmonth if inrange(dif,-`bw',`bw'), cluster(birthday)	
g N__`x'__`bw' = e(N)
test treat 
g b__`x'__`bw' = _b[treat]
g se__`x'__`bw' = _se[treat]
g p__`x'__`bw' = r(p)
qui sum `x' if e(sample) & treat==0
g M__`x'__`bw' = r(mean)
}

**static bw** 
foreach x in $outset1{
foreach bw in 1000 1250 1500 1750 2000{
reg `x' treat di1* $ctrl1 miss_*  i.bmonth if inrange(dif,-`bw',`bw'), cluster(birthday)	
g N__`x'__`bw'__2 = e(N)
test treat 
g b__`x'__`bw'__2 = _b[treat]
g se__`x'__`bw'__2 = _se[treat]
g p__`x'__`bw'__2 = r(p)
qui sum `x' if e(sample) & treat==0
g M__`x'__`bw'__2 = r(mean)
}
} 

keep b__* se__* p__* N__* M__* 
keep if _n==1 
xpose, clear varname 
rename v1 v_scalar 
split _varname, p("__")
drop _varname 
rename _varname1 coef_name 
rename _varname2 vname 
rename _varname3 bw
rename _varname4 col_index  
destring bw, replace 
destring col_index, replace 

g    		group = . 

foreach x in $cset1 $cset2{
replace group = 1 if vname =="`x'" 	
}

foreach x in $outset1{
replace group = 2 if vname =="`x'"
}

order coef_name group vname bw col_index v_scalar 
export excel using "Revision1\output\days\DRob_Tables_Covar_rev1.xlsx", firstrow(variables)replace 
 
log close 